package com.zb.mobile;

import com.zb.annotation.NumberPattern;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @Author WEN
 * @Date 2024/3/19 0019
 **/
@Data
@ApiModel("服务商移动端工程师签到")
public class NetworkMobileEngineerSignVo {
    @NotNull(message = "派单工程师ID不能为空")
    @ApiModelProperty(value = "派单工程师ID", required = true)
    private Long dispatchEngineerId;

    @NumberPattern(regexp = "^(1|2)$", message = "签到类型参数不合法", required = true)
    @ApiModelProperty(value = "签到类型：1-定位签到，2-拍照签到", required = true, example = "1")
    private Integer signType;

    @ApiModelProperty(value = "签到距离，单位：米")
    private Integer signInDistance;

    @Length(max = 50, message = "签到地址-省长度限制50个字符")
    @ApiModelProperty(value = "签到地址-省")
    private String signInProvince;

    @Length(max = 50, message = "签到地址-市长度限制50个字符")
    @ApiModelProperty(value = "签到地址-市")
    private String signInCity;

    @Length(max = 50, message = "签到地址-县/区长度限制50个字符")
    @ApiModelProperty(value = "签到地址-县/区")
    private String signInArea;

    @Length(max = 50, message = "签到地址-镇长度限制50个字符")
    @ApiModelProperty(value = "签到地址-镇")
    private String signInTown;

    @Length(max = 200, message = "签到详细地址长度限制200个字符")
    @ApiModelProperty(value = "签到地址-详情地址")
    private String signInAddress;

    @ApiModelProperty(value = "拍照签到附件路径")
    private List<String> paths;
}
